/**
 * @(#)IApkLoginTypeService.java 2016年11月14日
 * Copyright(C) 2016 ZHEXIN IT CO.,LTD. All rights reserved.
 */
package org.jsbd.boss.service;

import java.util.List;
import java.util.concurrent.CopyOnWriteArrayList;

import org.jsbd.boss.domian.channel.ApkLoginTypeConfig;

/**
 * apk登录方式配置
 * 
 * @author <a href="mailto:xupengcheng@zhexinit.com" >徐鹏程</a>
 * @version 1.0.0
 */
public interface IApkLoginTypeService {

	/**
	 * insertApkLoginTypeConfig:批量插入
	 * 
	 * @author <a href="mailto:xupengcheng@zhexinit.com" >徐鹏程</a>
	 * @param apkConfigs
	 * @return
	 */
	public void insertApkLoginTypeConfig(List<ApkLoginTypeConfig> apkConfigs);

	/**
	 * 
	 * selectApkLoginConfigNoCache:mark登录方式
	 * 
	 * @author <a href="mailto:xupengcheng@zhexinit.com" >徐鹏程</a>
	 * @param mark
	 * @return
	 */
	public List<ApkLoginTypeConfig> selectApkLoginConfigNoCache(String mark);

	public void updateApkLoginConfig(List<ApkLoginTypeConfig> apkLoginTypeList);

	public void insertAndUpdateApkLoginTypeConfig(List<ApkLoginTypeConfig> apkLoginTypeList);

	/**
	 * getLeftLoginTypeNum:登录方式剩余量
	 * 
	 * @author <a href="mailto:xupengcheng@zhexinit.com" >徐鹏程</a>
	 * @param apks
	 * @return
	 */
	public List<Integer> getLeftLoginTypeNum(List<String> apks, Integer loginType);

	/**
	 * selectApkLoginConfig:TODO 请描述该方法是做什么用途的
	 * 
	 * @author <a href="mailto:xupengcheng@zhexinit.com" >徐鹏程</a>
	 * @param loginType
	 * @return
	 */
	public List<ApkLoginTypeConfig> selectApkLoginConfig(Integer loginType);

	public List<ApkLoginTypeConfig> selectApkLoginConfigNoCache();

	public void updateRateByMark(String mark);

	List<ApkLoginTypeConfig> selectLoginBaseList(Integer loginType);

	public void insertAndUpdateApkLoginTypeConfigNews(List<ApkLoginTypeConfig> loginConfigs, List<Integer> types, String mark);
}
